/*
 * @功能描述: 
 * @版本: v1.0.0
 * @作者: LuAn
 * @Date: 2021-08-31 18:00:49
 * @LastEditTime: 2021-09-01 06:17:44
 */
#include "bsp_exit.h"
void exit_init(void)
{
  IOMUXC_SetPinMux(IOMUXC_UART1_CTS_B_GPIO1_IO18, 0);
  IOMUXC_PAD_t conf = {
      .PUS = IOMUXC_PAD_PUS_UP22,
      .PKE = IOMUXC_PAD_PKE_EN,
      .SPEED = IOMUXC_PAD_SPEED_MID};
  IOMUXC_SetPinConfig(IOMUXC_UART1_CTS_B_GPIO1_IO18, conf.full);
  gpio_init_input(GPIO1, 18);
  // gpio_int_init(GPIO1, 18, kGPIO_IntFalEdge);
  gpio_pins_int_init(GPIO1, BSP_GPIO_PIN_18, kGPIO_IntFalEdge);
}
void exit_set_irq_handler(system_irq_handler_t handler, void *args)
{
  // 设置中断回调函数
  system_register_irqhandler(GPIO1_Combined_16_31_IRQn, handler, args);
  GIC_EnableIRQ(GPIO1_Combined_16_31_IRQn); /* 使能GIC中对应的中断 */
  // 使能中断
  gpio_ints_enable(GPIO1, BSP_GPIO_PIN_18);
}
void exit_clr_int()
{
  gpio_ints_disable(GPIO1, BSP_GPIO_PIN_18);
  system_unregister_irqhandler(GPIO1_Combined_16_31_IRQn);
  GIC_DisableIRQ(GPIO1_Combined_16_31_IRQn);
}
